Algebraic Processing of Programming Languages

نویسنده

  • Teodor Rus
چکیده

Current methodology for compiler construction evolved from the need to release programmers form the burden of writing machine-language programs. This methodology does not assume a formal concept of a programming language and is not based on mathematical algorithms that model the behavior of a compiler. The side eeect is that compiler implementation is a diicult task and the correctness of a compiler usually is not proven mathematically. Moreover, a compiler may be based on assumptions about its source and target languages that are not necessarily acceptable for another compiler that has the same source and target languages. The consequence is that programs are not portable between platforms of machines and between generations of languages. In addition, while a conventional compiler freezes the notation that programmers can use to develop their programs the problem domain evolves and requires extensions that are not supported by the compiler. These problems are addressed by two directions of research in the current language processing technology. One direction enriches the programming environment provided by the conventional compilers with tools that optimize programs according to the architecture of the target machines. The other research direction focuses on a new methodology for programming language design and implementation that accommodates the existing programming tools and at the same time allows programmers to manufacture their own languages and compilers adapted to their own machines and problem domains. The rst research direction further complicates the compiler, which is already too complicated, and does not provide for language extensibility with the problem domain. The second research direction is based on mathematical concepts of programming language and programming language translation that are independent of the computer and computer user and could easily be mastered by programmers. The research reported in this paper ts within this framework. We rst introduce the formal concept of a programming language which captures all three components of a language, the semantics, the syntax, and their association into a communication tool, as mathematical constructs of universal algebra. This concept reveals the compositional structure of programming languages and allows us to look for a natural decomposition of programming languages into simpler objects such as language lexicon, language types, and language constructs. Each language component is however mathematically speciied and implemented and the speciications and implementations of these language components are further mathematically integrated into the speciication and implementation of the programming language they deene. We illustrate this approach of language …

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Pattern matching in concatenative programming languages

Pattern matching is a useful, convenient tool for processing algebraic data types in functional programming languages. This paper discusses a method for porting pattern matching to a family of programming languages called concatenative, which does not use named variables. The system is not fixed, like a traditional pattern matching system, but rather arbitrarily extensible: any function can be ...

متن کامل

Algebraic de nition of programming languages

This paper provides an algebraic deenition of programming languages. It presents a methodology for the construction of syntax and semantics of a programming language as similar algebras speciied by the same speciication rules. Then we show that syntax and semantics algebras of a programming language form a Galois connection. Applications to programming language processing are sketched and homom...

متن کامل

Automaton Meets Algebra: A Hybrid Paradigm for Efficiently Processing XQuery over XML Stream

XML stream applications bring the challenge of efficiently processing queries on sequentially accessible token-based data streams. The automaton paradigm is naturally suited for pattern retrieval on tokenized XML streams, but requires patches for implementing the filtering or restructuring functionalities common for the XML query languages. In contrast, the algebraic paradigm is well-establishe...

متن کامل

A Method for Solving Convex Quadratic Programming Problems Based on Differential-algebraic equations

In this paper, a new model based on differential-algebraic equations(DAEs) for solving convex quadratic programming(CQP) problems is proposed. It is proved that the new approach is guaranteed to generate optimal solutions for this class of optimization problems. This paper also shows that the conventional interior point methods for solving (CQP) problems can be viewed as a special case of the n...

متن کامل

Finally, the Paper on Compiling Dyadic First-order Speciÿcations into Map Alge- Bra By

The papers in this issue are revised and extended versions of communications presented at the Second International AMAST Workshop on Algebraic Methods in Language Processing (AMiLP ’00), held at the University of Iowa, Iowa City, USA, 20–22 May 2000. Like the 2rst workshop, that was held in 1995 at the University of Twente, Enschede, the Netherlands, the workshop was organized in the framework ...

متن کامل

An Object Based Algebra for Parallel Query Processing and Optimization

The Tarski algebra provides an algebraic foundation for object-based query languages. This is demonstrated by showing how queries expressed in a graph-oriented query language (based on the functional data model) can be translated into the Tarski algebra. The graphical representation of queries in combination with the Tarski algebra is a convenient mechanism to study optimization in the context ...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:
  • Theor. Comput. Sci.

دوره 199  شماره 

صفحات  -

تاریخ انتشار 1998